package com.hsjk.szwj.module.system.service.poster;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminCreatePosterReqVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterDetailRespVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterPageReqVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterPageRespVO;
import com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminUpdatePosterReqVO;
import com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterDetailRespVO;
import com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterPageReqVO;
import com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterPageRespVO;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/12/11 15:07
 **/
public interface IPosterConfig {

    /**
     * 创建海报
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/12/11 3:19 PM
     **/
    Boolean createPoster(AdminCreatePosterReqVO reqVO);

    /**
     * 更新海报
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/12/11 3:30 PM
     **/
    Boolean updatePoster(AdminUpdatePosterReqVO reqVO);


    /**
     * 根据id获取海报详情
     *
     * @param id
     * @return com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterDetailRespVO
     * @author chenjiawei
     * @date 2023/12/11 3:32 PM
     **/
    AdminPosterDetailRespVO getAdminPosterDetail(Long id);

    /**
     * 分页查询海报列表
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.system.controller.admin.poster.vo.AdminPosterPageRespVO>
     * @author chenjiawei
     * @date 2023/12/11 3:36 PM
     **/
    PageResult<AdminPosterPageRespVO> getAdminPosterPage(AdminPosterPageReqVO reqVO);

    /**
     * 删除海报
     *
     * @param id
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/12/11 3:30 PM
     **/
    Boolean deletePoster(Long id);

    /**
     * 选中海报
     *
     * @param id
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/12/11 4:14 PM
     **/
    Boolean setPoster(Long id);

    /**
     * 分页查询海报列表
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterPageRespVO>
     * @author chenjiawei
     * @date 2023/12/11 4:16 PM
     **/
    PageResult<AppPosterPageRespVO> getAppPosterPage(AppPosterPageReqVO reqVO);

    /**
     * 获取默认设置的海报
     * 
     * @author chenjiawei
     * @date 2023/12/11 4:30 PM 
     * @return com.hsjk.szwj.module.system.controller.app.poster.vo.AppPosterDetailRespVO
     **/
    AppPosterDetailRespVO getAppSetPoster();
}
